﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace Services
{
    public interface IUnityService
    {
        T GetByType<T>();

        Type Get(Type type);

        T GetTypeByName<T>(string Name);

        void InjectInstance<T>(T Instance);

        void InjectAsSingleton<T>(T Instance);

        void RegisterByInterface<Interface, Implementation>() where Implementation : Interface;

        void RegisterByInterfaceWithName<Interface, Implementation>(string key) where Implementation : Interface;

        void RegisterAsSingletonByInterface<Interface, Implementation>() where Implementation : Interface;




    }
}
